Computing devices may typically include a memory management unit which virtualizes access to the computing device's physical memory. Typically, a process that executes on a computing device is associated with a dedicated virtual address space which is then mapped, through a virtualization process, to a portion of physical memory exclusively assigned to the process. Each process thus has its own dedicated virtual address space.
Separate processes that execute on a computing device may sometimes communicate with each other through shared memory. Typically, a number of processes may read from or write to the same region of physical memory in order to allow the data written to the physical memory to be accessed by the separate processes. A computing device may comprise a memory management unit that controls access to the shared region of physically memory. Typically, access to the shared physical memory is virtualized independently for each process, so that the shared physical memory is represented within each process may correspond to a different region of virtual memory.